//
//  CheckDataTool.h
//  Stars
//
//  Created by 魏鹏 on 16/12/24.
//  Copyright © 2016年 hst. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface CheckDataTool : NSObject

/**
 *  邮箱验证
 *
 *  @param email 邮箱
 *
 *  @return YES:正确  NO:失败
 */
+ (BOOL) checkForEmail:(NSString *)email;

/**
 *  手机号验证
 *
 *  @param phone 手机号
 *
 *  @return YES:正确  NO:失败
 */
+(BOOL)checkForMobilePhoneNo:(NSString *)mobilePhone;

/**
 *  电话号验证
 *
 *  @param phone 电话号
 *
 *  @return 结果
 */
+(BOOL)checkForPhoneNo:(NSString *)phone;

/**
 *  验证是 -
 *
 *  @param chart
 *
 *  @return 结果
 */

+(BOOL)checkCharRung:(NSString *)chart;

/**
 *  身份证号验证(15位 或 18位)
 *
 *  @param idCard 身份证号
 *
 *  @return YES:正确  NO:失败
 */
+(BOOL)checkForIdCard:(NSString *)idCard;

/**
 *  密码验证
 *
 *  @param shortest 最短长度
 *  @param longest  最长长度
 *  @param pwd      密码
 *
 *  @return 结果
 */
+(BOOL)checkForPasswordWithShortest:(NSInteger)shortest longest:(NSInteger)longest password:(NSString *)pwd;


/**
 *  由数字和26个英文字母组成的字符串
 *
 *  @param idCard 数据
 *
 *  @return 结果
 */
+ (BOOL) checkForNumberAndCase:(NSString *)data;


/**
 *  校验只能输入26位小写字母
 *
 *  @param 数据
 *
 *  @return 结果
 */
+ (BOOL) checkForLowerCase:(NSString *)data;

/**
 *  校验只能输入26位大写字母
 *
 *  @param data 数据
 *
 *  @return 结果
 */
+ (BOOL) checkForUpperCase:(NSString *)data;

/**
 *  校验只能输入由26个小写英文字母组成的字符串
 *
 *  @param data 字符串
 *
 *  @return 结果
 */
+ (BOOL) checkForLowerAndUpperCase:(NSString *)data;

/**
 *  是否含有特殊字符(%&’,;=?$\等)
 *
 *  @param data 数据
 *
 *  @return 结果
 */
+ (BOOL) checkForSpecialChar:(NSString *)data;


/**
 *  校验只能输入数字
 *
 *  @param number 数字
 *
 *  @return 结果
 */
+ (BOOL) checkForNumber:(NSString *)number;

/**
 *  校验只能输入n位的数字
 *
 *  @param length n位
 *  @param number 数字
 *
 *  @return 结果
 */
+ (BOOL) checkForNumberWithLength:(NSString *)length number:(NSString *)number;


/**
 *  含有+()-特殊符号的电话号码
 *
 *  @param data 数据
 *
 *  @return 结果
 */
+(BOOL)checkPhone:(NSString *)data;


/**
 只能是0～100的整数和两位小数(包含 100 ，0)

 @param number 数字
 @return 结果
 */
+(BOOL)checkNumZeroAndOneHundred:(NSString *)number;

/**
 只能是0～100的整数和N位小数(包含 100 ，0)
 
 @param number 数字
 @param length 小数位
 @return 结果
 */
+(BOOL)checkNumZeroAndOneHundred:(NSString *)number byDecimalLength:(NSInteger) length;


/**
 只能是0～100的整数和两位小数(不包含 100 ，0)
 
 @param number 数字
 @return 结果
 */
+(BOOL)checkNumZeroToOneHundred:(NSString *)number;

+(BOOL)checkNumZeroToOneHundred:(NSString *)number byDecimalLength:(NSInteger) length;


/**
 只能是0～5的整数和两位小数(包含 5，0)
 
 @param number 数字
 @return 结果
 */
+(BOOL)checkNumZeroAndFive:(NSString *)number;
/**
 支持13位长度的四位小数
 @param number 数字
 @return 结果
 */
+(BOOL)checkNumAnd_thirteen_four:(NSString *)number;


/**
 支持9位长度的四位小数
 @param number 数字
 @return 结果
 */
+(BOOL)checkNumAnd_nine_four:(NSString *)number;

/**
 支持6位长度的四位小数
 @param number 数字
 @return 结果
 */
+(BOOL)checkNumAnd_six_four:(NSString *)number;

/**
 支持N位长度的N位小数
 @param number 数字
 @param InLen 整数长度
 @param deLen 小数长度
 @return 结果
 */
+(BOOL)checkNum:(NSString *)number ByIntegerLength:(NSInteger )InLen ByDecimalsLength:(NSInteger)deLen;

+ (BOOL)checkJudgeStringIsZeroWithStr:(NSString*)str;


/**
 验证是否是微信号 (支持字母、数字、下划线和减号)
 
 @param str 输入的微信号
 @return 结果
 */
+ (BOOL)checkForWeChatAccount:(NSString *)str;
@end
